1
从原始数据到定义的结构
AI034Lesson 5
00:00

想象原始数据如同未标记的流——一片内存的荒野。在 Rust 中,我们首先将数据处理为 连续的数据块 (切片和数组)。这种从原始数据到定义模式的转变,标志着从匿名内存向 有目的的结构的转变。

1. “原始”层级

切片和数组以最简单的方式表示数据。安全性通过 编译时的所有权检查 而非运行时开销来维持。使用借用(&)可以让我们创建数据的“视图”,而无需移动值。

String(栈)指针 | 长度 | 容量[ h e l l o _ w o r l d ]&str(切片)借用其中一部分

2. 语义限制

虽然像 first_word 这样的函数很灵活(接受 String&str或字面量),但它们存在语义上的局限。编译器知道内存是安全的,但它并不知道数据 代表什么 (例如用户名与传感器读数)直到我们将它映射到一个 Struct的转变。

架构原则: 所有权、借用和切片的概念确保了 Rust 程序在编译时的内存安全,从而无需垃圾回收机制。
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>